Disclaimer: Although LDapper seems to work fine, it is distributed "as is". Use at your own risk.
LDapper is a simple LDAP (Lightweight Directory Access Protocol) client for finding e-mail addresses. You can look up people by name and/or department. Once you have a list of people, you can copy/paste or drag addresses into a new e-mail message. Depending on your e-mail client, you may be able to automagically add them to a new message by choosing the "Mail To:" menu or clicking the e-mail button. (Try it and see if it works. It works with Mail Drop, surprise surprise.)
For more information on LDAP, see Critical Angle's LDAP World and University of Michigan LDAP
LDapper Preferences - options set in the preferences window
Directories
You will need to set up at least one directory before you can do a search. (This can be the "Internet Config Default" directory - see below.) Open up preferences and click the add (+) button. Then specify the directory's name (which can be whatever you want, but must be unique), the ldap server's IP address, and an optional (but probably not so optional) search base. You can also specify an IP port if it is different from the normal LDAP port (389). Click the edit (pencil) or delete (trashcan) buttons to edit and delete directories. There will also be an directory that corresponds to the default Internet Config directory. You cannot edit or delete this directory within LDapper.
At Baylor, you will want to enter one or more of the following:
Search base: ou=Faculty and Staff, o=Baylor University, c=US
Note that Baylor runs two LDAP servers, one on the standard port 389, and one on port 390. Because the 390 server contains information that is not considered "public" information, e.g., home addresses and phone numbers, it is only accessable on the Baylor network. E-mail addresses are available on both servers so you can use the default port without any problems.
You can also specify some of the default attributes that LDapper uses. These attributes (and default values) include Last Name (sn), Full Name (cn), Department (ou), and E-mail Address (mail). You can also specify the value for the objectClass attribute (person) used to restrict searches to people. Unless you know that you need to change these, you should leave these set to the defaults. To reset one to its default value, leave it field blank.
Search Limits
You can specify the maximum number of responses you want to receive from the LDAP server. The default is 100. Set this to 0 to designate no limit (but you may run out of memory). Also note that there may be a limit set by the server. You can also specify how long to wait for a response before timing out. Set this to 0 to wait forever. (Maybe not such a good idea.) The
default is 30 seconds.
Copying/Dragging Addresses
Different e-mail applications handle copying (and dragging) of addresses differently. You will need to experiment with these settings to see what works best with your e-mail application.
If the "Separate With Commas" option is enabled, addresses will be separated with commas, e.g.,
rocky@wossamotta.edu,bullwinkle@wossamotta.edu
If is is disabled they will be separated with carriage returns, e.g.,
rocky@wossamotta.edu
bullwinkle@wossamotta.edu
If the "Include Personal Names" option is enabled, then you'll get
"Rocket J. Squirrel" <rocky@wossamotta.edu>,"Bullwinkle J. Moose" <bullwinkle@wossamotta.edu>
or
"Rocket J. Squirrel" <rocky@wossamotta.edu>
"Bullwinkle J. Moose" <bullwinkle@wossamotta.edu>
Other Prefs
E-mail Application
LDapper can send a GetURL AppleEvent to an e-mail application by selecting an address and clicking the "mail" button in a search window. Any program that can be set up as a "mailto" URL helper should work. The default e-mail client is Mail Drop. (Go figure...) Click the "Choose" button to select a different one. Note that only the application's creator, e.g., 'MDrp' for Mail Drop, is saved in the preference file. What this means is that you can choose one copy of the application but when LDapper tries to convert the application's creator back into the application, it may find a different copy. If more than one address is selected, LDapper will send a separate mailto AppleEvent for each selected address. Note that not all e-mail applications handle multiple mailto's the same way. Mail Drop will create a new message for the first address it receives, and subsequent addresses will be added to that message. Other programs will create a new message for each address it receives. Also, personal names are not included in mailto URLs. If the "Use Internet Config" option is enabled, LDapper will ignore the e-mail application setting, and just let Internet Config handle it. Make sure you have specified a helper application for mailto URLs within Internet Config or nothing will happen.
Use Internet Config
If set, LDapper will use the Internet Config utility to for a default LDAP server (and search base) if available as well as use Internet Config to handle mailto URLs.
More LDapper Preferences - options implicitly set in a search window
Default Searches
You can search by either last name (LDAP's "sn") or by full name (LDAP's "cn"). You can toggle between last and full name within a search window by clicking on the name search's caption.
You can choose the search types for names and departments with the popup menus in a search window. The choices are: is, is similar to, contains, starts with, ends with.
Searching
There are four more options you can set for doing searches. If the "Clear List Before New Search" is on, all of the addresses in the address list will be deleted before any new ones are added. With the "Fetch All Attributes" option, you can specify whether or not all attributes are fetched from the LDAP server or only a minimal set. To ignore any responses that don't have
an e-mail address ("mail" attribute) turn on the "Discard Responses Without E-mail". To restrict a search to only real people, turn on the "Search For People Only".
Internal Defaults
Lab managers can can specify initial defaults for various preferences. These
are stored inside of LDapper in a 'TEXT' resource (ID 10000). Because the
LDapper Preferences file is really a text file, you can copy and paste the
entries into the TEXT resource. The order of the pref entries is irrelevant.
Important: There must be a return after the last entry in the TEXT resource.
LDapper's default preferences are:
CANSAVEPREFS=T
CURDIRECTORY=1
MAXHITS=100
TIMELIMIT=30
CLEARLIST=T
FETCHALLATTR=F
DISCARDNONEMAIL=T
PEOPLEONLY=T
LASTNAMESEARCH=T
DEFAULTNAMESEARCH=3
DEFAULTDEPTSEARCH=4
EMAILAPP=MDrp
USEINTERNETCONFIG=F
SEPARATEWITHCOMMAS=T
INCLUDEPERSONALNAMES=T
SHOWINFO=F
SORTBYNAME=T
You only need to add entries to the TEXT resource if you want something different than the above defaults. A pref that is not saved to the prefs file is CANSAVEPREFS. If is set to T(rue) any changes made will be saved to disk. If it is set to F(alse), they won't. Add the CANSAVEPREFS pref and set it to F for lab environments, but make sure you add at least one DIRECTORY entry in the TEXT resource.
Boolean (true/false) values should be either T or F. Integer values are just the number. The default searches types are:
1 - is
2 - is similar to
3 - contains
4 - starts with
5 - ends with
No directory is specified by default, but the entry looks like:
Note that the line break after the search base is only to make this readable. The FULLDIRECTORY entry must be on one line. Older versions of LDapper used a shortened version of this (DIRECTORY) that did not include the attributes. LDapper will automatically convert the older DIRECTORY prefs into their FULLDIRECTORY equivalents.
It is probably easiest to set up directories in the preferences dialog and then copy/paste them from the prefs file into the 'TEXT' resource.
One more preference that is not user modifiable (it shouldn't be called a preference, should it?) but can be specified in the default pref resource are:
IDLEDISCONNECTSECONDS=120
The IDLEDISCONNECTSECONDS specifies how long (in seconds) that LDapper will keep the connection to the server open after doing the last search. If you are doing several searches, it is more efficient to use the same connection rather than open and close a new connection for each search. This setting will avoid accidentally leaving connections open for extended periods of time. The default is 120 seconds (2 minutes).
Search Window
Selecting the New menu will open a new search window with initial settings as specified in Preferences. You can change several of the settings, e.g., the directory, types of searches, before doing a search.
To do a search, enter some text in the name and/or department field, then click the Find button (or select the Find menu, or press return). Clicking the word Last toggles between last name (LDAP's sn) and full name (LDAP's cn) searches. The department is really organizational unit (LDAP's ou). If the first character in the name field is an open parenthesis '(', LDapper will assume that that is a "real" LDAP search filter and will just pass it onto the the server. [I'm not going to try to explain search filters. You either know how to specify one or you don't. LDapper always does a subtree search - you cannot specify base-object or one-level searches.] Hold down the shift key when clicking the search button to see the search filter that will be sent to the server.
Some information is only available if you identify yourself to the LDAP server. For example, the server may be set up to only allow people at your site to view home address and phone number information; anonymous users will not be able to retrieve these attributes. You can set your credentials by selecting the "Set Credentials" item in the LDAP menu. This will bring up a window where you can enter your identification (probably your "distinguished name", e.g., "cn=Rocket Squirrel, o=Wossamotta University, c=US") and an optional password. It would be nice if you could entire a last name and let LDapper attempt an anonymous search for the dn but for now you have to type it in. These credentials are used for the window and not the directory. LDapper will remember the last identification that you enter and save that in the preferences file. Choose the "Set Credentials" menu item again to change your ID or password. To become "anonymous" again, choose the "Clear Credentials" menu item. Also, choosing a different directory implicitly clears your credentials. Note that although you may be authenticated, you cannot use LDapper to change information on the server.
LDapper will connect to the server when you first do a search, but will not close the connection until the window is closed, a different directory is specified, the preferences are modified, your credentials are set or cleared, or the number of seconds specified in the internal IDLEDISCONNECTSECONDS preference mentioned above have passed since the last search.
When you click the Find button, a search query is sent to the server. As entries are added to the address list, you can cancel the operation by pressing cmd-period. If there are no matches to your search, or more matches than the "Max # Hits" preference, LDapper will let you know.
To specify how the address list is sorted, click in the address list's "Name" or "E-Mail" column header. LDapper will remember the way that the address list is sorted between sessions.
Click on one or more entries in the address list to select them. Then you can copy/paste or drag them to your e-mail application. Entries without e-mail addresses will not be included. To remove entries from the list, select them, then hit delete or choose the Clear menu.
Clicking on the "disclosure arrow" will show/hide information about a selected address. This includes the entry's distinguished name as well as all requested attributes/values. (The attributes jpegphoto and audio are not included if retrieved from the server.) Selecting the Show/Hide Info menu or clicking in the window's zoom box will do the same thing.
If one or more entries in the address list are selected, click on the "Mail To:" button or choose the "Mail To:" menu to send the address(es) to your e-mail applications. Double-clicking an address or pressing return/enter while the address list is active will do the same thing.
You can export addresses and information to text files by choosing the "Export addresses" and "Export Information" menu items. The exported address file can be imported into your Mail Drop address book or group if you have the "Text addresses" plug-in installed. The exported information is in an LDIF-ish (LDAP Data Interchange Format) file.
Release Notes:
1.0.4 (30-Jun-98)
• Fixed bug (hopefully) where toggling Internet Config support in Preferences would sometimes delete regular directory entries from the list.
• There is now always a "Internet Config Default" item in the Directory popup menu but it should be disabled if the "Use Internet Config"option is disabled or if there is no valid directory specified inInternet Config.
• Can now export addresses to a text file which can be imported into Mail Drop address books. (Use the "Text Addresses" plug-in.)
• Can now export info to a LDIF-ish format text file.
• OpenTransport support.
• Added "photo" and "personalsignature" to the list of ignored (binary) attributes.
• Added ability to set credentials for LDAP authentication (bind). Note that this has not been fully tested but does seem to work with the UMich slapd server running on A/UX.
• Email application field in the prefs dialog no longer displays garbage if the application specified in the prefs file can't be found.
• Fixed scrolling bug if the height of the text in the info field is less than the height of the field itself.
• Address list is no longer cleared if the user holds down the option key to see the search string but clicks the cancel button.
• Quitting LDapper with an open window now closes the LDAP connection more gracefully, i.e., actually ubinds rather than just close the TCP connection.
• Fixed bug where the directory type (IC default or normal) was not being set correctly when parsing preferences text.
• A few minor cosmetic changes.
1.0.3 (4-Feb-98)
• Fat version.
• Appearance manager support. (Mostly, anyway...)
• Changed the default time that LDapper stays connected to server from 5 minutes to 2 minutes. Also, this preference is no longer written back out to the file. (It's really intended to be an "admin" preference.)
• Added a "status" field.
• LDapper now only writes out the preferences file if the preferences have actually changed. It also makes a backup of the previous preferences file in case something gets hosed.
• Added help balloons.
• Can now specify some of the attributes for a directory that LDapper uses. These attributes are stored in the preferences file with the directory info. LDapper will automatically update the older pref file but if you run an older version of LDapper it will not recognize the new directories.
• Added option to only search people, e.g. "objectclass=person".
• Can now cancel the alert that shows you the search string when you hold down the option key when doing a search.
• Show/Hide Info status of window is now remembered between sessions.
• Can now drag text from the "Info" field.
• Dragging from inactive window works. In the past, it would just select the window.
• Added zoom box. Zooming a search window toggles the Show/Hide Info status of the window. Not sure if this entirely follows Apple's HI guidelines.
• When chaging the sort of the address table, all addresses are now unselected and the table is scrolled back to the top.
1.0.2 (7-Nov-97)
• Changed window title from "LDapper Lite" to "LDapper".
• Looks better on B&W screens, e.g., no more giant black areas. Some disabled/inactive buttons and menus still look odd, though. (The disabled directory menu says "No Directories Defined" by the way.)
• Arrow key navigation in the address list now updates the info field.
• Pressing return (or enter) when an address is selected and the address list is active now sends mailto URL to the e-mail application.
• Added "Show/Hide Info" caption in LDapper window.
• Fixed "PPC Only" alert to say "LDapper" instead of "LDapper Lite".
• No longer a "development" version. Removed debugging code. There are no more bugs in LDapper. Really.
1.0.1d (9-Sep-97)
• Name change. There probably won't be a non-lite version so the program is now just LDapper. Your prefs file should automatically be renamed from "LDapper Lite Prefs" to "LDapper Prefs". If, for some reason, you already have an LDapper prefs file, the rename should fail silently.
• Added a default "last/full name" preference.
• Reworked preferences so some prefs are implicitly set within a search window rather than prefs dialog.
• Fixed bug where DIRECTORY pref entries without search bases were ignored at startup.
• Changing prefs (within prefs dialog) now causes all open LDAP connections to close.
• Added Internet Config support.
1.0d (2-Sep-97)
• Initial (development version) release.
To Do List:
• Windows 95 version
• AppleGuide
• AppleScript
• LDAPv3
• Support for LDAP URLs
• Better server error reporting
• User resizeable window
• Better async support
• Printing?
If you have any questions, comments, (constructive) criticism, or bug
reports, you can contact me at the address(es) below.
-cb
Carl_Bell@baylor.edu
Carl Bell's Web Page <http://ackmo.baylor.edu/~bellc/index.html>
Stuff I've Written <http://ackmo.baylor.edu/~bellc/stuff.html>
Snail Mail:
Carl W. Bell
Information Technology Center
Baylor University
P.O. Box 97268
Waco, TX 76798-7268
Phone:
(254) 710-4065
Baylor's Fine Print:
This software, data and/or documentation contain trade secrets and confidential information which are proprietary to Baylor University. Their use or disclosure in whole or in part without the express written permission of Baylor University is prohibited.
This software, data and/or documentation are also unpublished works protected under the copyright laws of the United States of America. If these works become published, the following notice shall apply:
The name of Baylor University may not be used to endorse or promote products
derived from this software without specific prior written permission. THIS
SOFTWARE, DATA AND/OR DOCUMENTATION ARE PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
When permission has been granted to make copies of this software, data and/or documentation, the above notices must be retained on all copies.
Permission is hereby granted for non-commercial use and distribution of LDapper.
UMich LDAP SDK's Fine Print
Copyright (c) 1990 Regents of the University of Michigan.
All rights reserved.
Redistribution and use in source and binary forms are permitted provided that this notice is preserved and that due credit is given to the University of Michigan at Ann Arbor. The name of the University may not be used to endorse or promote products derived from this software without specific prior written permission. This software is provided ``as is'' without express or implied warranty.